Verified tensor-program optimization via high-level scheduling rewrites
نویسندگان
چکیده
We present a lightweight Coq framework for optimizing tensor kernels written in pure, functional array language. Optimizations rely on user scheduling using series of verified, semantics-preserving rewrites. Unusually compilation targeting imperative code with arrays and nested loops, all rewrites are source-to-source within purely Our language comprises set core constructs expressing high-level computation detail what we call reshape operators, which can be derived from but trigger low-level decisions about storage patterns ordering. demonstrate that not only is this system capable deriving the optimizations existing state-of-the-art languages like Halide generating comparably performant code, it also able to schedule family useful program transformations beyond reachable Halide.
منابع مشابه
High-order Tensor Completion for Data Recovery via Sparse Tensor-train Optimization
In this paper, we aim at the problem of tensor data completion. Tensor-train decomposition is adopted because of its powerful representation ability and linear scalability to tensor order. We propose an algorithm named Sparse Tensortrain Optimization (STTO) which considers incomplete data as sparse tensor and uses first-order optimization method to find the factors of tensor-train decomposition...
متن کاملTensor principal component analysis via convex optimization
This paper is concerned with the computation of the principal components for a general tensor, known as the tensor principal component analysis (PCA) problem. We show that the general tensor PCA problem is reducible to its special case where the tensor in question is supersymmetric with an even degree. In that case, the tensor can be embedded into a symmetric matrix. We prove that if the tensor...
متن کاملHigh-Level Code Optimization
Software systems are inherently complex. Building large software systems has proved so difficult precisely because of the complexity levels with which programmers have to deal. In [7] Brooks divides complexity in essential and accidental and argues that solutions which worked in other fields cannot apply to software. Essential complexity stems from very nature of software (i.e. the large number...
متن کاملRiemannian Optimization for High-Dimensional Tensor Completion
Tensor completion aims to reconstruct a high-dimensional data set with a large fraction of missing entries. The assumption of low-rank structure in the underlying original data allows us to cast the completion problem into an optimization problem restricted to the manifold of fixed-rank tensors. Elements of this smooth embedded submanifold can be efficiently represented in the tensor train (TT)...
متن کاملEvolving High - Level Imperative Program
Genetic Programming (GP) is a technique which uses an evolutionary metaphor to automatically generate computer programs. Although GP proclaims to evolve computer programs, historically it has been used to produce code which more closely resembles mathematical formulae than the well structured programs that modern programmers aim to produce. The objective of this thesis is to explore the use of ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2022
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3498717